/**
 * 
 */
package com.demo2do.fms.scheduler.entity;

import java.math.BigDecimal;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

/**
 * 
 * @author Ysy
 *
 */
public class Vendor {
    
    private String id;
    
    /** 代码 */
    private String code;
    
    /** 名称 */
    private String name;
    
    /** 简称 */
    private String shortName;
    
    /** 认证状态 */
    private String status;
    
    /** 保证金额度 */
    private BigDecimal deposit;
    
    /** 应付帐期 */
    private Long accountPlayableDays;
    
    /** 经营范围 */
    private String scope;
    
    /** 开户银行 */
    private String bankName;
    
    /** 银行账号 */
    private String bankAccount;
    
    /** 税号 */
    private String taxNumber;
    
    /** 法定代表人 */
    private String legalPerson;
    
    /** 地址 */
    private String address;
    
    /** 邮编 */
    private String zipCode;
    
    /** 电话 */
    private String mobile;
    
    /** 传真 */
    private String fax;
    
    /** 联系人1 */
    private String mainContactor;
    
    /** 联系人2 */
    private String secondContactor;
    
    /** 联系人1手机 */ 
    private String mainPhone;
    
    /** 联系人2手机 */ 
    private String secondPhone;
    
    /** 联系人1 email */ 
    private String mainEmail;
    
    /** 联系人2 email */ 
    private String secondEmail;
    
    /** 备注 */
    private String remark;
    
    /** 分区 */
    private String branchId;
    
    /** 版本 */
    private Long version;
    
    /** 附件链接  */
    private String attachment;
    
    /**创建时间*/
    private Date createTime;
    
    /**上次修改时间*/
    private Date lastModifyTime;
    
    /**创建者*/
    private Long creator;
    
    /**修改者*/
    private Long lastOperator;
    
    private boolean disabled;
    
    /**
     * 
     */
    public Vendor() {
    }
    
    /**
     * 
     * @return
     */
    public Vendor init(){
        this.disabled = false;
        this.creator = new Long(1);
        this.createTime = new Date();
        this.lastOperator = this.creator;
        this.lastModifyTime = new Date();
        return this;
    }
    
    /**
     * 
     * @return
     */
    public Vendor edit(){
        this.lastOperator = new Long(1);
        this.lastModifyTime = new Date();
        return this;
    }
    
    /**
     * 
     * @return
     */
    public Map<String, Object> describe() {
        Map<String, Object> result = new HashMap<String, Object>();
        
        result.put("id", this.id);
        result.put("code", this.code);
        result.put("name", this.name);
        result.put("shortName", this.shortName);
        result.put("status", this.status);
        result.put("deposit", this.deposit);
        result.put("accountPlayableDays", this.accountPlayableDays);
        result.put("scope", this.scope);
        result.put("bankName", this.bankName);
        result.put("bankAccount", this.bankAccount);
        result.put("taxNumber", this.taxNumber);
        result.put("legalPerson", this.legalPerson);
        result.put("address", this.address);
        result.put("zipCode", this.zipCode);
        result.put("mobile", this.mobile);
        result.put("fax", this.fax);
        result.put("mainContactor", this.mainContactor);
        result.put("secondContactor", this.secondContactor);
        result.put("mainPhone", this.mainPhone);
        result.put("secondPhone", this.secondPhone);
        result.put("mainEmail", this.mainEmail);
        result.put("secondEmail", this.secondEmail);
        result.put("remark", this.remark);
        result.put("branchId", this.branchId);
        result.put("version", this.version);
        result.put("attachment" , this.attachment);
        result.put("createTime", this.createTime);
        result.put("lastModifyTime", this.lastModifyTime);
        result.put("creator", this.creator);
        result.put("lastOperator", this.lastOperator);
        result.put("disabled", this.disabled);
        
        return result;
    }

    /**
     * @return the id
     */
    public String getId() {
        return id;
    }

    /**
     * @return the code
     */
    public String getCode() {
        return code;
    }

    /**
     * @return the name
     */
    public String getName() {
        return name;
    }

    /**
     * @return the shortName
     */
    public String getShortName() {
        return shortName;
    }

    /**
     * @return the status
     */
    public String getStatus() {
        return status;
    }

    /**
     * @return the deposit
     */
    public BigDecimal getDeposit() {
        return deposit;
    }

    /**
     * @return the accountPlayableDays
     */
    public Long getAccountPlayableDays() {
        return accountPlayableDays;
    }

    /**
     * @return the scope
     */
    public String getScope() {
        return scope;
    }

    /**
     * @return the bankName
     */
    public String getBankName() {
        return bankName;
    }

    /**
     * @return the bankAccount
     */
    public String getBankAccount() {
        return bankAccount;
    }

    /**
     * @return the taxNumber
     */
    public String getTaxNumber() {
        return taxNumber;
    }

    /**
     * @return the legalPerson
     */
    public String getLegalPerson() {
        return legalPerson;
    }

    /**
     * @return the address
     */
    public String getAddress() {
        return address;
    }

    /**
     * @return the zipCode
     */
    public String getZipCode() {
        return zipCode;
    }

    /**
     * @return the mobile
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * @return the fax
     */
    public String getFax() {
        return fax;
    }

    /**
     * @return the mainContactor
     */
    public String getMainContactor() {
        return mainContactor;
    }

    /**
     * @return the secondContactor
     */
    public String getSecondContactor() {
        return secondContactor;
    }

    /**
     * @return the mainPhone
     */
    public String getMainPhone() {
        return mainPhone;
    }

    /**
     * @return the secondPhone
     */
    public String getSecondPhone() {
        return secondPhone;
    }

    /**
     * @return the mainEmail
     */
    public String getMainEmail() {
        return mainEmail;
    }

    /**
     * @return the secondEmail
     */
    public String getSecondEmail() {
        return secondEmail;
    }

    /**
     * @return the remark
     */
    public String getRemark() {
        return remark;
    }

    /**
     * @return
     */
    public String getBranchId() {
        return branchId;
    }

    /**
     * @return the version
     */
    public Long getVersion() {
        return version;
    }
    
    /**
     * 
     * @return the attachment
     */
    public String getAttachment() {
        return attachment;
    }

    /**
     * @return the createTime
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * @return the lastModifyTime
     */
    public Date getLastModifyTime() {
        return lastModifyTime;
    }

    /**
     * @return the creator
     */
    public Long getCreator() {
        return creator;
    }

    /**
     * @return the lastOperator
     */
    public Long getLastOperator() {
        return lastOperator;
    }

    /**
     * @return the disabled
     */
    public boolean isDisabled() {
        return disabled;
    }

    /**
     * @param id the id to set
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * @param code the code to set
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * @param name the name to set
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * @param shortName the shortName to set
     */
    public void setShortName(String shortName) {
        this.shortName = shortName;
    }

    /**
     * @param status the status to set
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * @param deposit the deposit to set
     */
    public void setDeposit(BigDecimal deposit) {
        this.deposit = deposit;
    }

    /**
     * @param accountPlayableDays the accountPlayableDays to set
     */
    public void setAccountPlayableDays(Long accountPlayableDays) {
        this.accountPlayableDays = accountPlayableDays;
    }

    /**
     * @param scope the scope to set
     */
    public void setScope(String scope) {
        this.scope = scope;
    }

    /**
     * @param bankName the bankName to set
     */
    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    /**
     * @param bankAccount the bankAccount to set
     */
    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    /**
     * @param taxNumber the taxNumber to set
     */
    public void setTaxNumber(String taxNumber) {
        this.taxNumber = taxNumber;
    }

    /**
     * @param legalPerson the legalPerson to set
     */
    public void setLegalPerson(String legalPerson) {
        this.legalPerson = legalPerson;
    }

    /**
     * @param address the address to set
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * @param zipCode the zipCode to set
     */
    public void setZipCode(String zipCode) {
        this.zipCode = zipCode;
    }

    /**
     * @param mobile the mobile to set
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * @param fax the fax to set
     */
    public void setFax(String fax) {
        this.fax = fax;
    }

    /**
     * @param mainContactor the mainContactor to set
     */
    public void setMainContactor(String mainContactor) {
        this.mainContactor = mainContactor;
    }

    /**
     * @param secondContactor the secondContactor to set
     */
    public void setSecondContactor(String secondContactor) {
        this.secondContactor = secondContactor;
    }

    /**
     * @param mainPhone the mainPhone to set
     */
    public void setMainPhone(String mainPhone) {
        this.mainPhone = mainPhone;
    }

    /**
     * @param secondPhone the secondPhone to set
     */
    public void setSecondPhone(String secondPhone) {
        this.secondPhone = secondPhone;
    }

    /**
     * @param mainEmail the mainEmail to set
     */
    public void setMainEmail(String mainEmail) {
        this.mainEmail = mainEmail;
    }

    /**
     * @param secondEmail the secondEmail to set
     */
    public void setSecondEmail(String secondEmail) {
        this.secondEmail = secondEmail;
    }

    /**
     * @param remark the remark to set
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * @param branchId
     */
    public void setBranchId(String branchId) {
        this.branchId = branchId;
    }

    /**
     * @param version the version to set
     */
    public void setVersion(Long version) {
        this.version = version;
    }
    
    /**
     * 
     * @param attachment the attachment to set
     */
    public void setAttachment(String attachment) {
        this.attachment = attachment;
    }

    /**
     * @param createTime the createTime to set
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * @param lastModifyTime the lastModifyTime to set
     */
    public void setLastModifyTime(Date lastModifyTime) {
        this.lastModifyTime = lastModifyTime;
    }

    /**
     * @param creator the creator to set
     */
    public void setCreator(Long creator) {
        this.creator = creator;
    }

    /**
     * @param lastOperator the lastOperator to set
     */
    public void setLastOperator(Long lastOperator) {
        this.lastOperator = lastOperator;
    }

    /**
     * @param disabled the disabled to set
     */
    public void setDisabled(boolean disabled) {
        this.disabled = disabled;
    }

}
